<?php
//***********************************************************************
// Назначение: Передача товаров из 1С в virtuemart
// Модуль: system/cashgroup.php - Класс создания групп покупателей
// Автор оригинала: Дуденков М.В. (email: mihail@termservis.ru)
// Помогали разрабатывать:	Alexandr Datsiuk
//							Павел Михнев 
//                          CALEORT
// Авторские права: Использовать, а также распространять данный скрипт
// 					разрешается только с разрешением автора скрипта
//***********************************************************************

if ( !defined( 'VM_1CEXPORT' ) ) {
	echo "<h1>Несанкционированный доступ</h1>Ваш IP уже отправлен администратору.";
	die();
}

function inserCashgroup($xml) {
	global $log, $db, $cash_group;
	
	$cash_group->XML($xml);
	$data = array();
	$data['id'] = "";
	$data['name'] = "";
	$data['nds'] = "";

	while($cash_group->read()) {
		if($cash_group->nodeType == XMLReader::ELEMENT ) {
			switch($cash_group->name) {
							
				case 'Ид': 
					$data['id'] = $cash_group->readString();
					break;
									
				case 'Наименование':
					$data['name'] = trim($cash_group->readString());
					break;
									
				case 'Налог': 
					$xml_nds = $cash_group->readOuterXML();
					$xml_nds = simplexml_load_string($xml_nds);
					$data['nds'] = $xml_nds->УчтеноВСумме;	
					$data['nds_name'] = $xml_nds->Наименование;
					
					unset($xml_nds);
					
					$cash_group->next();
					break;
			}
		}
	}
	makeCashgroup($data);
}

function makeCashgroup($data) {
	global $log, $db, $dba, $id_admin;
	
	$sql = 'SELECT cashgroup_id FROM #__virtuemart_cashgroup_to_1c where `c_id` = '. $db->getEscaped($data['id']);
	$db->setQuery ( $sql );
	$rows_sub_Count = $db->loadResult ();
							
	if(!isset ( $rows_sub_Count )) 	{
		if ($data['nds'] == true) {
			$nds = "1";
		}
		else {
			$nds = "0";
		}
		
		if($data['name'] == VM_DEF_CASHGR) {
			$def = '1';
		}
		else {
			$def = '0';
		}
			if (VM_VERVM == '2') {
				$param ="show_prices=1\n";
		
				if(!class_exists('JParameter')) require(JPATH_BASE.DS.'libraries'.DS.'joomla'.DS.'html'.DS.'parameter.php' );
				$jparam = new JParameter($param);
				$data['price_display'] = serialize(new JParameter($param));
			}
			$ins = new stdClass ();
			$ins->virtuemart_shoppergroup_id = NULL;
			$ins->virtuemart_vendor_id = 1;
			$ins->shopper_group_name = (string)$data['name'];
			$ins->shopper_group_desc = (string)$data['name'];
			$ins->custom_price_display = 0;
			$ins->price_display = $data['price_display'];
			$ins->default = (int)$def;
			$ins->ordering = 0;
			$ins->shared = 0;
			$ins->published = 1;
			$ins->created_on = date ('Y-m-d H:i:s');
			$ins->created_by = $id_admin;
			$ins->modified_on = date ('Y-m-d H:i:s');
			$ins->modified_by = $id_admin;
						
			if (! $db->insertObject ( '#__virtuemart_shoppergroups', $ins, 'virtuemart_shoppergroup_id' )) {
				$log->addEntry ( array ('comment' => "Этап 4.2.2) Неудача: Невозможно вставить запись в таблицу - 'virtuemart_shoppergroups'" ) );
				echo 'failure\n';
				echo 'error mysql';
			}
			
			$shopper_group_id = (int) $ins->virtuemart_shoppergroup_id;

			if (VM_VERVM == '2' and $nds == "1") {
				$sql = 'SELECT virtuemart_calc_id FROM #__virtuemart_calcs where `calc_name` = ' . $data['nds_name'];
				$db->setQuery ( $sql );
				$log->addEntry ( array ('comment' => 'Этап 4.2.2a) Выбираем налог - '. $data['nds_name']    ) );
				$calc_id = $db->loadResult ();
				if (isset($calc_id)) {
					$ins = new stdClass ();
					$ins->id = NULL;
					$ins->virtuemart_calc_id = (string)$calc_id;
					$ins->virtuemart_shoppergroup_id = (int)$shopper_group_id;
					if (! $db->insertObject ( '#__virtuemart_calc_shoppergroups', $ins )) {
						$log->addEntry ( array ('comment' => "Этап 4.2.2) Неудача: Невозможно вставить запись в таблицу - 'virtuemart_calc_shoppergroups'" ) );
						echo 'failure\n';
						echo 'error mysql';
					}
					
				}
	
			}
			
			$ins = new stdClass ();
			$ins->cashgroup_id = (int)$shopper_group_id;
			$ins->c_id  = (string)$db->getEscaped($data['id']);
				
			if (! $db->insertObject ( '#__virtuemart_cashgroup_to_1c', $ins )) {
				$log->addEntry ( array ('comment' => "Этап 4.2.2) Неудача: Невозможно вставить запись в таблицу - 'virtuemart_cashgroup_to_1c'" ) );
				echo 'failure\n';
				echo 'error mysql';
			}
			
			$log->addEntry ( array ('comment' => 'Этап 4.2.2) Ценовая группа '.$data['name'].' создана' ) );
	}
}
?>